Messages being distributed between multiple parallel services for processing, and then passed to a single consumer, such as a database or a message bus, is a common scenario in software engineering. The messages may come for processing in bursts from a producer (for example being collected every N minutes) and the consumer requires a minimal delay between data being available for the system and data being accessible for the end user. One de-queue policy is a static threshold based policy. In this policy, the producer passes to a service the minimum of either all of the available messages or the threshold number of messages for processing. In the case of collocated services, the delay caused by the consumer being busy is usually solved by introducing an extra queue for the consumer, however such an extra queue is not always possible, for example, when messages are in a data warehouse temporary table associated with the given service. This situation leads to the inefficient processing of the messages in the producer-parallel services-consumer arrangement.